1. Field of the Invention
The present invention relates to the field of database query operations and more particularly to search multiple fields of multiple different data sources through a query interface.
2. Description of the Related Art
A database query is an inquiry into a database used to extract data from the database in a readable format according to the user's request. A database query generally requires a connection into a database, an interface through which one or more query terms can be specified and a query engine configured to process the query terms according to one or more conditions—generally expressed by boolean operators or mathematical operators or both. The interface can be nothing more than an application programming interface specifying a prototype to which a database query should conform. Alternatively, the interface can be a graphical user interface into which an end user can specify search terms and operators—in more advanced forms—using a drag and drop interface for either or both of bounded query terms and operators.
A database often includes multiple different tables. As such, to query multiple different tables, first the tables must be treated as one so that a query can be performed against the different tables as if the different tables were a single, unitary table. In structured query language (SQL), the JOIN statement is used to achieve the treatment of different tables as one when conducting a query operation. However, joining two tables together can be computationally expensive and effective only when access and control to both tables can be achieved. For external data sources, no such access and control can be provided thereby impeding the joining of an internal data source with an external data source.
Historically, data driven applications relied upon data disposed in locally disposed data stores. With the advent of distributed computing and advanced database management technologies, however, modern data driven applications access data in both local and remote data stores. Even more advanced business object centric applications access data both in local data stores and also remotely over the Internet through intermediate business objects accessing external data stores—oftentimes not within the control of the application itself.